package com.right.dao.impl;

import java.util.List;

import com.Tools.DBTools;
import com.Tools.MD5Util;
import com.Tools.PageData;
import com.right.dao.StoreDao;
import com.right.entity.Store;

public class StoreDaoImpl implements StoreDao {

	@Override
	public boolean addStore(Store store) {
		if (store != null) {
			String sql = "insert into store values(null,?,?,?,?,?,?,?)";
			String md5pwd = MD5Util.getEncodeByMd5(store.getStorepwd());
			int n = DBTools.exUpdate(sql, store.getStore(), store.getStorename(), md5pwd, store.getStorecall(),
					store.getAddress(), store.getStoreinfo(), store.getMoney());
			return n > 0;
		}
		return false;
	}

	@Override
	public boolean delStore(int storeid) {
		String sql = "delete from store where storeid =?";
		int n = DBTools.exUpdate(sql, storeid);
		return n > 0;
	}

	@Override
	public boolean login(String storename, String storepwd) {
		String sql = "select storeid from store where storename=? and storepwd=?";
		String md5pwd = MD5Util.getEncodeByMd5(storepwd);
		List<Store> list = (List<Store>) DBTools.exQuery(sql, Store.class, storename, md5pwd);
		System.out.println(list);
		if (list.size() != 0) {
			return true;
		}
		return false;
	}

	@Override
	public boolean updateStore(Store store) {
		if (store != null) {
			String sql = "update store set store=?,storename=?,storepwd=?,storecall=?,address=?,storeinfo=?,money=? where storeid=?";
			int n = DBTools.exUpdate(sql, store.getStore(), store.getStorename(), store.getStorepwd(),
					store.getStorecall(), store.getAddress(), store.getStoreinfo(), store.getMoney(),
					store.getStoreid());
			return n > 0;
		}
		return false;
	}

	@Override
	public List<Store> getStroe(String keywords) {
		String sql = "select storeid,store,storename,storepwd,storecall,address,storeinfo,money from store where storename like ?";
		return (List<Store>) DBTools.exQuery(sql, Store.class, '%' + keywords + "%");
	}

	@Override
	public PageData<Store> getStoreByPage(int page, int pageSize, String keywords) {
		String sql = "select * from store where store like ?";
		PageData<Store> pd = DBTools.exQueryByPage(sql, Store.class, page, pageSize, "%" + keywords + "%");
		return pd;
	}

	@Override
	public Store getStoreByName(String store) {
		String sql = "select storeid,storename,storepwd,storecall,address,storeinfo,money from store where store = ?";
		List<Store> list = (List<Store>) DBTools.exQuery(sql, Store.class, store);

		if (list.size() == 0) {
			return null;
		}
		return list.get(0);
	}

	@Override
	public Store getStoreByLoginName(String storename) {
		String sql = "select storeid,store,storename,storepwd,storecall,address,storeinfo,money from store where storename = ?";
		List<Store> list = (List<Store>) DBTools.exQuery(sql, Store.class, storename);

		if (list.size() == 0) {
			return null;
		}
		return list.get(0);
	}

	@Override
	public boolean updateStore2(Store store) {
		if (store != null) {
			String sql = "update store set store=?,storename=?,storecall=?,address=?,storeinfo=?,money=? where storeid=?";
			int n = DBTools.exUpdate(sql, store.getStore(), store.getStorename(), store.getStorecall(),
					store.getAddress(), store.getStoreinfo(), store.getMoney(), store.getStoreid());
			return n > 0;
		}
		return false;
	}
}
